import { AreaTypesResultItem } from './areaTypesModel';
import { AssetResultItem } from './assetModel';
import { DeviceParams } from './deviceModel';

export interface UserItem {
  assToken: string;
  remark: null | string;
  url: string;
  userId: number;
  username: string;
}
export interface DeviceAssignmentItem {
  metadata: object;
  id: string;
  token: string;
  createdDate: string;
  deviceId: string;
  areaId: string;
  assetId: string;
  status: string;
  activeDate: string;
  device: DeviceParams;
  area: AreaTypesResultItem;
  asset: AssetResultItem;
  assetName: string;
  assetImageUrl: string;
  voiceBoxId: string;
}
export interface AssignmentsResultItem {
  user?: null | UserItem;
  ideviceAssignment: DeviceAssignmentItem;
}
export interface AssignmentsResult {
  numResults?: number;
  results: AssignmentsResultItem[];
}
export interface AssignmentsParams extends API.PageParams, API.CurrentParams {
  name?: string;
  includeAssetType?: boolean;
  includeArea?: boolean;
  includeAsset?: boolean;
  includeCustomer?: boolean;
  includeDevice?: boolean;
  includeVoiceBox?: boolean;
  userIds?: string;
}
